package negocio;

import persistencia.PersistenciaProveedor;
import java.util.*;
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Clase que representa un Proveedor del videoclub
 * @author JAVA
 */
public class Proveedor {
    private String nombre;
    private int id;

   


    
    public Proveedor(String nombre){
        this.nombre=nombre;
    }
    public Proveedor(int id,String nombre){
        this.id=id;
        this.nombre=nombre;
    }
     public int getId() {
        return id;
    }
    public String getNombre(){
        return nombre;
    }
    
    public void setNombre(String s){
        nombre=s;
    }

    public static Proveedor obtenerProveedor(int id) throws ExcepcionPersistencia{
        Proveedor p=PersistenciaProveedor.obtenerProveedor(id);
        if(p==null){
            throw new ExcepcionPersistencia("No existe ningun proveedor con dicha id");
        }
        else{
            return p;
        }
    }
    
    public void altaProveedor(Proveedor p) throws ExcepcionPersistencia{
        if(PersistenciaProveedor.crearProveedor(this)!=1){
            throw new ExcepcionPersistencia("El proveedor no ha podido darse de alta");
        }
    }
        
    
    public void bajaProveedor(Proveedor p) throws ExcepcionPersistencia{
        if(PersistenciaProveedor.eliminarProveedor(this)!=1){
            throw new ExcepcionPersistencia("El proveedor no ha podido darse de baja");
        }
    }
    
    public void actualizaProveedor(Proveedor p) throws ExcepcionPersistencia{
        if(PersistenciaProveedor.modificarProveedor(this)!=1){
            throw new ExcepcionPersistencia("El proveedor no ha podido modificarse");
        }
    }
    
    public static int listarProveedores(){
        List<Proveedor>lista=PersistenciaProveedor.devolverProveedores();
        Iterator it=lista.iterator();
        while(it.hasNext()){
            Proveedor p=(Proveedor)it.next();
            p.toString();
        }
        return lista.size();
    }
    
   @Override
    public String toString() {
        return "\n --------------------- \n  ---- PROVEEDOR ----  \n --------------------- \n" + "Id: " + id + "\n Nombre: " + nombre + "\n --------------------- \n";
    }
    
    
}